Migrating From IIS 6.0
A
large number of Web developers have depended on previous versions of
IIS to support their Web applications and Web sites. IIS 6.0, the
version included with Windows Server 2003, provided several enhancement
features and capabilities over previous versions. IIS 7.0 provides even
more improvements in functionality, performance, reliability, and
management capabilities. However, with these new improvements,
preserving backward compatibility with existing applications built for
IIS 6.0 was an important goal.
For
Web sites and Web applications that rely primarily on static content,
the migration process to IIS 7.0 should be fairly easy. Generally, all
that is required is for the content to be moved and any associated
site-level or application-level settings to be re-created. However,
there are additional options and considerations for other types of
applications, such as those that were built using ASP.NET or that rely
on IIS 6.0 architectural features. In this section, you’ll learn about
how to migrate Web applications to IIS 7.0.
Upgrading from Windows Server 2003 and IIS 6.0
One
approach to moving Web applications to Windows Server 2008 is to
perform an in-place upgrade of a computer running Windows Server 2003.
The upgrade process automatically makes decisions that will help
preserve compatibility with older applications. For example, the
majority of role services that are optional with a standard Web Server
(IIS) role installation are included automatically. Furthermore, IIS
6.0 management tools and features are available for use. Following an
upgrade to Windows Server 2008 and IIS 7.0, verify which installed
components are required and remove those that are not. And, as with any
migration, thoroughly test the functionality of your Web sites before
redeploying them into production.
Another
option for upgrading to IIS 7.0 is to migrate Web sites manually by
copying the relevant content to a new Windows Server 2008 installation.
In this approach, the existing content is transferred to a new server,
and Web sites and Web applications must be reconfigured.
Installing IIS 6 Management Compatibility
Some
Web sites and Web applications might include application code that
relies on the architecture of IIS 6.0 for handling requests. Examples
include Web applications that need access to the IIS 6.0 configuration
database and compatibility with earlier scripting methods. In addition,
some applications might require access to an earlier version of the
management console.
By
default, backward-compatibility features are not installed
automatically for new Web server installations in Windows Server 2008.
To provide backward-compatibility, you can use Server Manager to add
role services to the Web Server (IIS) role. The available options are:
IIS 6 Management Compatibility
This compatibility feature provides support for two scripting and
administration features that were included with IIS 6.0: Admin Base
Object (ABO) and Active Directory Services Interface (ADSI). Web
applications that relied on these technologies will need these features
to operate correctly. Additionally, the IIS 6 Management Compatibility
role service is required to enable other IIS 6.0 compatibility options.
IIS 6 Metabase Compatibility
IIS 6.0 used a configuration database known as the metabase for storing
server settings and other details. In IIS 7.0, this has been replaced
by new types of XML-based configuration files such as
ApplicationHost.config and Web.config files. IIS 6.0 Web applications
could use the ability to query the metabase to manage IIS settings. To
support these applications, you must enable the IIS 6 Metabase
Compatibility role service.
IIS 6 WMI Compatibility
Windows Management Instrumentation (WMI) is a programming interface
that enables application code to query and manage IIS settings, using
scripts or WMI-capable tools. This role service adds compatibility that
enables IIS 6.0 WMI–based commands to apply to IIS 7.0 Web servers.
IIS 6 Scripting Tools
Web developers and systems administrators can transition IIS 6.0
management scripts to IIS 7.0 by enabling this role service. The IIS 6
Scripting Tools option adds support for using ActiveX Data Objects
(ADO) and ADSI.
IIS 6 Management Console
For systems administrators who want to manage IIS 6.0 installations
remotely, it is possible to install IIS 6 Management Console on Windows
Server 2008. This console is capable only of connecting to IIS 6.0
servers, however, and cannot connect to a Windows Server 2008 Web
server.
Overall,
these tools and features can help ensure that previous versions of
applications that relied on IIS 6.0 will continue to function in
Windows Server 2008.
Understanding ASP.NET Integration Modes
IIS
7.0 provides enhancements for the ASP.NET development platform. In
previous versions of IIS, ASP.NET processing was performed through an
ISAPI code module. Although this approach worked well, there were some
important limitations. In IIS 7.0, ASP.NET integration has been
enhanced by more closely incorporating the process of ASP.NET Web pages
with the Web server request pipeline. This new architecture offers
several benefits, including greater control over request processing and
the ability to use ASP.NET features for types of content other than
dynamic Web pages.
All
ASP.NET applications can take advantage of the new .NET Integrated Mode
pipeline when they are running on IIS 7.0. However, applications that
relied on IIS 6.0 architecture for intercepting and modifying requests
will need support for the Classic pipeline mode. You can configure the
processing mode by changing application pool settings or modifying the
configuration of existing application pools. (Both topics were covered
earlier in this lesson.)